package br.com.marcelo.reservasis.client.services.apartamento;

import br.com.aroeirasoftware.gwtcomponents.client.query.ASQuery;
import br.com.aroeirasoftware.gwtcomponents.client.query.ASQueryResult;
import br.com.marcelo.reservasis.domain.model.Apartamento;
import br.com.marcelo.reservasis.domain.model.TipoApartamento;
import com.google.gwt.user.client.rpc.AsyncCallback;

/**
 *
 * @author Marcelo Rodrigues
 */
public interface ApartamentoUIServiceAsync {

    public void salvar(Apartamento arg0, AsyncCallback<Integer> asyncCallback);

    public void atualizar(Apartamento arg0, AsyncCallback<Void> asyncCallback);

    public void excluir(Apartamento arg0, AsyncCallback<Void> asyncCallback);

    public void getPorId(Integer arg0, AsyncCallback<Apartamento> asyncCallback);

    public void getPorConsulta(ASQuery arg0, AsyncCallback<ASQueryResult<Apartamento>> asyncCallback);

    public void getTipoApartamentoPorConsulta(ASQuery arg0, AsyncCallback<ASQueryResult<TipoApartamento>> asyncCallback);
}
